import path from 'path'
import fs from 'fs'

export function registerAudioProtocol(protocol) {
  protocol.registerBufferProtocol('audio', (request, callback) => {
    try {
      // 提取 URL 路径并解码（处理中文和特殊字符）
      const decodedUrl = decodeURIComponent(request.url.slice(8)) // 移除 'audio://' 并解码
      // 2. 补全盘符后的冒号（将 'E/music' → 'E:/music'）
      const formattedPath = decodedUrl.replace(/^([CDE])\/(.*)/, '$1:/$2')

      console.log('Protocol resolved:', formattedPath) // 调试日志
      callback(localPath)
    } catch (error) {
      console.error('Protocol error:', error)
      callback({ error: 'Failed to load resource' })
    }
  })
}

function getMimeType(ext) {
  const typeMap = {
    '.mp3': 'audio/mpeg',
    '.wav': 'audio/wav',
    '.ogg': 'audio/ogg',
    '.flac': 'audio/flac',
    '.m4a': 'audio/mp4'
  }
  return typeMap[ext] || 'application/octet-stream'
}
